The conceptual design of a vehicle such as an aircraft or a space launch vehicle typically involves a set of design tradeoff studies or trade studies wherein numerous system configurations and criteria may be considered. In order to arrive at an optimal design, it is desirable to evaluate a wide variety of candidate design concepts from the standpoint of vehicle performance, cost, reliability, and a variety of other factors across multiple disciplines. The evaluation of candidate design concepts may be implemented in a computational procedure such as in a constraint management system or a constraint network.
A constraint network may be represented as a bipartite graph containing variable nodes and relation nodes interconnected by arcs. Each variable node represents a variable in the constraint network. Each relation node represents an equality constraint (e.g., an equation). An arc may connect a variable node to a relation node if and only if the variable is included in the equality constraint of the relation node. The arcs in the bipartite graph may be directed, with one outgoing arc from each equality constraint pointing to the variable that the equality constraint is meant to compute given the values of other variables that are connected to the equality constraint.
In the classical implementation of a constraint network for trade study applications, the set of equations is static such that every equation is satisfied all the time. In addition, alternative computational methods may be embedded in selected equations such as in the following representation for determining the aerodynamic drag of an aircraft:dragPlane=If(CanardIsPresent, dragBodyC_anardAttached(FuselageSize)+dragCanard(CanardSize), dragBody_NoCanard(FuselageSize))
Unfortunately, embedding computational methods in equations such as in the above-noted representation can be cumbersome for a modeler of complex systems involving many different configurations. Furthermore, embedding computational methods in equations may prevent the performance of certain types of trade studies that require the reversal of the computational flow.
An alternative to embedding computational methods in equations is to make the applicability of any given equation dependent upon the computational state determined by the constraint network. An important property of constraint network modeling is the separation of computational planning from the numerical solution of the constraint sets in the computational path. Computational planning may be defined as determining the ordered sequence of computational steps (i.e., the computational path through the constraint network from a specified input variable to a specified output variable, during the performance of a given trade study. The separation of computational planning from the numerical solution of the constraint sets is essential for providing a system designer with relatively rapid feedback during a trade study. This, in turn, allows the system designer to explore a wide variety of designs during a trade study.
In the case where the applicability of each equation is not static and is instead data-dependent, an effective technique for modeling such data dependence is to attach to each equation a propositional form, or a well-formed formula (WFF), which depends upon the data in the network, and which, if such WFF evaluates to true, means that the equation is applicable in the given situation. In this regard, each WFF has a truth value defining a set of worlds where the WFF is true.
In the computational plan for a data-dependent constraint network, each computational step is associated with a propositional form or a WFF which depends upon the data in the network and upon the results computed in the previous computational steps, and which, if the WFF evaluates to true, means that the computational step is evaluated in the given situation. The WFFs associated with each computational step may be obtained by applying different combinations of union, intersection, and difference operators to the WFFs associated with the equations that need to be solved. When a WFF simplifies to a universally false WFF, the computational plan generation procedure can prune unneeded branches of a constraint network and thereby produce compact and efficient computational plans.
Traditional methods for finding a computational plan in a constraint network rely on a topological sort of the bipartite graph. The computational complexity of such traditional methods may be linear with the size of the graph. However, such traditional methods may not be applicable when the topology of the graph varies dynamically with the values of the variables in the graph as in a data-dependent constraint network. Furthermore, computational planning using traditional methods may involve the intermixing of planning and computation of the constraint sets in the computational path. The intermixing of planning and computation reduces the flexibility and speed with which a designer may explore design spaces which limits the variety of designs that a designer may explore.
As can be seen, there exists a need in the art for a system and method for computational planning in a data-dependent constraint network that avoids the intermixing of planning and computation.